package com.boss.salary.entity;

import com.boss.common.util.DateUtils;
import com.boss.salary.constant.SystemDictConstant;

import java.io.Serializable;
/**
 * <br>Title: 人员信息扩展表
 * <br>Description:人员信息扩展表
 * <br>Author: 徐鹏
 * <br>Date: 2020年10月16日 18：12
 */
public class PersonExt implements Serializable {
    private String id ;
    /**
     * 创建时间
     */
    private String createTime ;
    /**
     * 更新时间
     */
    private String updateTime ;
    /**
     * 人员id
     */
    private String personId ;
    /**
     * 家庭住址
     */
    private String personAddress ;
    /**
     * 机构id
     */
    private String agencyId ;
    /**
     * 机构内部门id
     */
    private String deptId ;
    /**
     * 组织机构
     */
    private String agencyCode ;
    /**
     * 身份证号
     */
    private String idenNo ;
    /**
     * 在职离休
     */
    private String state ;


    /**
     * 入职时间
     */
    private String enterAgencyDate ;
    /**
     * 离退休时间
     */
    private String retireDate ;
    /**
     * 人员类别
     */
    private String personTypeCode ;
    /**
     * 人员身份
     */
    private String personIdeCode ;
    /**
     * 调离时间
     */
    private String endDate ;
    /**
     * 死亡时间
     */
    private String deadDate;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 工资卡卡号
     */
    private String salaCardNo;
    /**
     * 工资卡开户行code
     */
    private String salaCardBank;
    /**
     * 公务卡卡号
     */
    private String govCredCardNo;
    /**
     * 公务卡开户行code
     */
    private String govCredCardBank;
    /**
     * 生效时间
     */
    private String startDate;
    /**
     * 工资类别
     */
    private String meritPayCode;
    /**
     * 学历
     */
    private String schRecCode;
    /**
     * 职务
     */
    private String posCode;
    /**
     * 职级
     */
    private String grCode;
    /**
     * 技术等级
     */
    private String tecGrCode;
    /**
     * 是否在编
     */
    private Integer isAuth;
    /**
     * 工资级别
     */
    private String salaGrCode;
    /**
     * 当前人员状态
     */
    private String personState;
    /**
     * 人员变动状态
     */
    private String changeState;

    /**
     * 审核状态
     */
    private String verifyState;

    /**
     * 人员来源
     */
    private String perSourceCode ;
    /**
     * 是否特殊岗位
     */
    private Integer isSpecialPost ;
    /**
     * 是否参加养老保险
     */
    private Integer isInsurance ;
    /**
     * 是否统发
     */
    private Integer isUniSala ;
    /**
     * 是否停发
     */
    private Integer isStopSalary;

    /**
     * 删除标识
     */
    private Integer isDeleted ;


    /**
     财政部内部机构代码
     */
    private String mofDivCode;
    /**
     * 人员类别id
     */
    private String personTypeId;

    /**
     * 职务id
     */
    private String postId;

    /**
     * 档次id
     */
    private String gradeId;

    /**
     * 级别id
     */
    private String levelId;
    /**
     * 机构名字
     */
    private String personName;
    /**
     * 人员编号
     */
    private String personnelCode;

    /**
     * 排序
     * @return
     */
    private  Integer  showOrder;
    /**
     * 人员手机
     */
    private String phone;
    /**
     * 资金性质
     */
    private String natureOfFundsCode;
    /**
     * 功能科目
     */
    private String functionalSubjectsCode;
    /**
     * 部门经济科目
     */
    private String deptEconomicSubjectsCode;
    /**
     * 政府部门经济分类
     */
    private String govDeptClassCode;
    /**
     * 支出功能科目id
     * @return
     */
    private String funcId;
    /**
     *
     * 支出功能科目code
     * @return
     */
    private String funcCode;
    /**
     * 支出功能科目name
     * @return
     */
    private String funcName;

    @Override
    public String toString() {
        return "PersonExt{" +
                "id='" + id + '\'' +
                ", createTime='" + createTime + '\'' +
                ", updateTime='" + updateTime + '\'' +
                ", personId='" + personId + '\'' +
                ", personAddress='" + personAddress + '\'' +
                ", agencyId='" + agencyId + '\'' +
                ", deptId='" + deptId + '\'' +
                ", agencyCode='" + agencyCode + '\'' +
                ", idenNo='" + idenNo + '\'' +
                ", state='" + state + '\'' +
                ", enterAgencyDate='" + enterAgencyDate + '\'' +
                ", retireDate='" + retireDate + '\'' +
                ", personTypeCode='" + personTypeCode + '\'' +
                ", personIdeCode='" + personIdeCode + '\'' +
                ", endDate='" + endDate + '\'' +
                ", deadDate='" + deadDate + '\'' +
                ", remarks='" + remarks + '\'' +
                ", salaCardNo='" + salaCardNo + '\'' +
                ", salaCardBank='" + salaCardBank + '\'' +
                ", govCredCardNo='" + govCredCardNo + '\'' +
                ", govCredCardBank='" + govCredCardBank + '\'' +
                ", startDate='" + startDate + '\'' +
                ", meritPayCode='" + meritPayCode + '\'' +
                ", schRecCode='" + schRecCode + '\'' +
                ", posCode='" + posCode + '\'' +
                ", grCode='" + grCode + '\'' +
                ", tecGrCode='" + tecGrCode + '\'' +
                ", isAuth=" + isAuth +
                ", salaGrCode='" + salaGrCode + '\'' +
                ", personState='" + personState + '\'' +
                ", changeState='" + changeState + '\'' +
                ", verifyState='" + verifyState + '\'' +
                ", perSourceCode='" + perSourceCode + '\'' +
                ", isSpecialPost=" + isSpecialPost +
                ", isInsurance=" + isInsurance +
                ", isUniSala=" + isUniSala +
                ", isStopSalary=" + isStopSalary +
                ", isDeleted=" + isDeleted +
                ", mofDivCode='" + mofDivCode + '\'' +
                ", personTypeId='" + personTypeId + '\'' +
                ", postId='" + postId + '\'' +
                ", gradeId='" + gradeId + '\'' +
                ", levelId='" + levelId + '\'' +
                ", personName='" + personName + '\'' +
                ", personnelCode='" + personnelCode + '\'' +
                ", showOrder=" + showOrder +
                ", phone='" + phone + '\'' +
                ", natureOfFundsCode='" + natureOfFundsCode + '\'' +
                ", functionalSubjectsCode='" + functionalSubjectsCode + '\'' +
                ", deptEconomicSubjectsCode='" + deptEconomicSubjectsCode + '\'' +
                ", govDeptClassCode='" + govDeptClassCode + '\'' +
                '}';
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getPersonId() {
        return personId;
    }

    public void setPersonId(String personId) {
        this.personId = personId;
    }

    public String getPersonAddress() {
        return personAddress;
    }

    public void setPersonAddress(String personAddress) {
        this.personAddress = personAddress;
    }

    public String getAgencyId() {
        return agencyId;
    }

    public void setAgencyId(String agencyId) {
        this.agencyId = agencyId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getAgencyCode() {
        return agencyCode;
    }

    public void setAgencyCode(String agencyCode) {
        this.agencyCode = agencyCode;
    }

    public String getIdenNo() {
        return idenNo;
    }

    public void setIdenNo(String idenNo) {
        this.idenNo = idenNo;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getEnterAgencyDate() {
        return enterAgencyDate;
    }

    public void setEnterAgencyDate(String enterAgencyDate) {
        this.enterAgencyDate = enterAgencyDate;
    }

    public String getRetireDate() {
        return retireDate;
    }

    public void setRetireDate(String retireDate) {
        this.retireDate = retireDate;
    }

    public String getPersonTypeCode() {
        return personTypeCode;
    }

    public void setPersonTypeCode(String personTypeCode) {
        this.personTypeCode = personTypeCode;
    }

    public String getPersonIdeCode() {
        return personIdeCode;
    }

    public void setPersonIdeCode(String personIdeCode) {
        this.personIdeCode = personIdeCode;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public String getDeadDate() {
        return deadDate;
    }

    public void setDeadDate(String deadDate) {
        this.deadDate = deadDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getSalaCardNo() {
        return salaCardNo;
    }

    public void setSalaCardNo(String salaCardNo) {
        this.salaCardNo = salaCardNo;
    }

    public String getSalaCardBank() {
        return salaCardBank;
    }

    public void setSalaCardBank(String salaCardBank) {
        this.salaCardBank = salaCardBank;
    }

    public String getGovCredCardNo() {
        return govCredCardNo;
    }

    public void setGovCredCardNo(String govCredCardNo) {
        this.govCredCardNo = govCredCardNo;
    }

    public String getGovCredCardBank() {
        return govCredCardBank;
    }

    public void setGovCredCardBank(String govCredCardBank) {
        this.govCredCardBank = govCredCardBank;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getMeritPayCode() {
        return meritPayCode;
    }

    public void setMeritPayCode(String meritPayCode) {
        this.meritPayCode = meritPayCode;
    }

    public String getSchRecCode() {
        return schRecCode;
    }

    public void setSchRecCode(String schRecCode) {
        this.schRecCode = schRecCode;
    }

    public String getPosCode() {
        return posCode;
    }

    public void setPosCode(String posCode) {
        this.posCode = posCode;
    }

    public String getGrCode() {
        return grCode;
    }

    public void setGrCode(String grCode) {
        this.grCode = grCode;
    }

    public String getTecGrCode() {
        return tecGrCode;
    }

    public void setTecGrCode(String tecGrCode) {
        this.tecGrCode = tecGrCode;
    }

    public Integer getIsAuth() {
        return isAuth;
    }

    public void setIsAuth(Integer isAuth) {
        this.isAuth = isAuth;
    }

    public String getSalaGrCode() {
        return salaGrCode;
    }

    public void setSalaGrCode(String salaGrCode) {
        this.salaGrCode = salaGrCode;
    }

    public String getPersonState() {
        return personState;
    }

    public void setPersonState(String personState) {
        this.personState = personState;
    }

    public String getChangeState() {
        return changeState;
    }

    public void setChangeState(String changeState) {
        this.changeState = changeState;
    }

    public String getVerifyState() {
        return verifyState;
    }

    public void setVerifyState(String verifyState) {
        this.verifyState = verifyState;
    }

    public String getPerSourceCode() {
        return perSourceCode;
    }

    public void setPerSourceCode(String perSourceCode) {
        this.perSourceCode = perSourceCode;
    }

    public Integer getIsSpecialPost() {
        return isSpecialPost;
    }

    public void setIsSpecialPost(Integer isSpecialPost) {
        this.isSpecialPost = isSpecialPost;
    }

    public Integer getIsInsurance() {
        return isInsurance;
    }

    public void setIsInsurance(Integer isInsurance) {
        this.isInsurance = isInsurance;
    }

    public Integer getIsUniSala() {
        return isUniSala;
    }

    public void setIsUniSala(Integer isUniSala) {
        this.isUniSala = isUniSala;
    }

    public Integer getIsStopSalary() {
        return isStopSalary;
    }

    public void setIsStopSalary(Integer isStopSalary) {
        this.isStopSalary = isStopSalary;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getMofDivCode() {
        return mofDivCode;
    }

    public void setMofDivCode(String mofDivCode) {
        this.mofDivCode = mofDivCode;
    }

    public String getPersonTypeId() {
        return personTypeId;
    }

    public void setPersonTypeId(String personTypeId) {
        this.personTypeId = personTypeId;
    }

    public String getPostId() {
        return postId;
    }

    public void setPostId(String postId) {
        this.postId = postId;
    }

    public String getGradeId() {
        return gradeId;
    }

    public void setGradeId(String gradeId) {
        this.gradeId = gradeId;
    }

    public String getLevelId() {
        return levelId;
    }

    public void setLevelId(String levelId) {
        this.levelId = levelId;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }

    public String getPersonnelCode() {
        return personnelCode;
    }

    public void setPersonnelCode(String personnelCode) {
        this.personnelCode = personnelCode;
    }

    public Integer getShowOrder() {
        return showOrder;
    }

    public void setShowOrder(Integer showOrder) {
        this.showOrder = showOrder;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getNatureOfFundsCode() {
        return natureOfFundsCode;
    }

    public void setNatureOfFundsCode(String natureOfFundsCode) {
        this.natureOfFundsCode = natureOfFundsCode;
    }

    public String getFunctionalSubjectsCode() {
        return functionalSubjectsCode;
    }

    public void setFunctionalSubjectsCode(String functionalSubjectsCode) {
        this.functionalSubjectsCode = functionalSubjectsCode;
    }

    public String getDeptEconomicSubjectsCode() {
        return deptEconomicSubjectsCode;
    }

    public void setDeptEconomicSubjectsCode(String deptEconomicSubjectsCode) {
        this.deptEconomicSubjectsCode = deptEconomicSubjectsCode;
    }

    public String getGovDeptClassCode() {
        return govDeptClassCode;
    }

    public void setGovDeptClassCode(String govDeptClassCode) {
        this.govDeptClassCode = govDeptClassCode;
    }

    public String getFuncId() {
        return funcId;
    }

    public void setFuncId(String funcId) {
        this.funcId = funcId;
    }

    public String getFuncCode() {
        return funcCode;
    }

    public void setFuncCode(String funcCode) {
        this.funcCode = funcCode;
    }

    public String getFuncName() {
        return funcName;
    }

    public void setFuncName(String funcName) {
        this.funcName = funcName;
    }

    public  PersonExt(){}
    public  PersonExt(PersonOperate operate,String personId){
        this.personName=operate.getPersonName();
        this.personId=personId;
        this.personAddress=operate.getPersonAddress();
        this.deptId=operate.getDeptId();
        this.enterAgencyDate=operate.getEnterAgencyDate();
        this.retireDate=operate.getRetireDate();
        this.personTypeCode=operate.getPersonTypeCode();
        this.personIdeCode=operate.getPersonIdeCode();
        this.endDate=operate.getEndDate();
        this.deadDate=operate.getDeadDate();
        this.remarks=operate.getRemarks();
        this.salaCardNo=operate.getSalaCardNo();
        this.salaCardBank=operate.getSalaCardBank();
        this.govCredCardNo=operate.getGovCredCardNo();
        this.govCredCardBank=operate.getGovCredCardBank();
        this.startDate=operate.getStartDate();
        this.meritPayCode=operate.getMeritPayCode();
        this.schRecCode=operate.getSchRecCode();
        this.posCode=operate.getPosCode();
        this.grCode=operate.getGrCode();
        this.tecGrCode=operate.getTecGrCode();
        this.salaGrCode=operate.getSalaGrCode();
        this.personState=operate.getPersonState();
        this.changeState=operate.getChangeState();
        this.perSourceCode=operate.getPerSourceCode();
        this.phone = operate.getPhone();
        this.deptEconomicSubjectsCode = operate.getDeptEconomicSubjectsCode();
        this.functionalSubjectsCode = operate.getFunctionalSubjectsCode();
        this.govDeptClassCode = operate.getGovDeptClassCode();
        this.natureOfFundsCode = operate.getNatureOfFundsCode();
        this.funcId = operate.getFuncId();
        this.funcName = operate.getFuncName();
        this.funcCode = operate.getFuncCode();
    }

    public  PersonExt(PersonHistory operate,String personId){
        this.personId=personId;
        this.personName=operate.getPersonName();
        this.personAddress=operate.getPersonAddress();
        this.deptId=operate.getDeptId();
        this.enterAgencyDate=operate.getEnterAgencyDate();
        this.retireDate=operate.getRetireDate();
        this.personTypeCode=operate.getPersonTypeCode();
        this.personIdeCode=operate.getPersonIdeCode();
        this.endDate=operate.getEndDate();
        this.deadDate=operate.getDeadDate();
        this.remarks=operate.getRemarks();
        this.salaCardNo=operate.getSalaCardNo();
        this.salaCardBank=operate.getSalaCardBank();
        this.govCredCardNo=operate.getGovCredCardNo();
        this.govCredCardBank=operate.getGovCredCardBank();
        this.startDate=operate.getStartDate();
        this.meritPayCode=operate.getMeritPayCode();
        this.schRecCode=operate.getSchRecCode();
        this.posCode=operate.getPosCode();
        this.grCode=operate.getGrCode();
        this.tecGrCode=operate.getTecGrCode();
        this.salaGrCode=operate.getSalaGrCode();
        this.personState=operate.getPersonState();
        this.changeState=operate.getChangeState();
        this.perSourceCode=operate.getPerSourceCode();
        this.deptEconomicSubjectsCode = operate.getDeptEconomicSubjectsCode();
        this.functionalSubjectsCode = operate.getFunctionalSubjectsCode();
        this.govDeptClassCode = operate.getGovDeptClassCode();
        this.natureOfFundsCode = operate.getNatureOfFundsCode();
        this.funcId = operate.getFuncId();
        this.funcName = operate.getFuncName();
        this.funcCode = operate.getFuncCode();
    }

    public  PersonExt(PersonOperate operate){
        this.createTime=String.valueOf(DateUtils.getCurrentTimeStamp());
        this.updateTime=String.valueOf(DateUtils.getCurrentTimeStamp());
        this.personName=operate.getPersonName();
        this.personId=operate.getPersonId();
        this.personAddress=operate.getPersonAddress();
        this.agencyId=operate.getAgencyId();
        this.agencyCode=operate.getAgencyCode();
        this.idenNo=operate.getIdenNo();//20210304新增
        this.state=operate.getState();//20210304新增
        this.enterAgencyDate=operate.getEnterAgencyDate();
        this.retireDate=operate.getRetireDate();
        this.deptId=operate.getDeptId();
        this.enterAgencyDate=operate.getEnterAgencyDate();
        this.retireDate=operate.getRetireDate();
        this.personTypeCode=operate.getPersonTypeCode();
        this.personIdeCode=operate.getPersonIdeCode();
        this.endDate=operate.getEndDate();
        this.deadDate=operate.getDeadDate();
        this.remarks=operate.getRemarks();
        this.salaCardNo=operate.getSalaCardNo();
        this.salaCardBank=operate.getSalaCardBank();
        this.govCredCardNo=operate.getGovCredCardNo();
        this.govCredCardBank=operate.getGovCredCardBank();
        this.startDate=operate.getStartDate();
        this.meritPayCode=operate.getMeritPayCode();
        this.schRecCode=operate.getSchRecCode();
        this.posCode=operate.getPosCode();
        this.grCode=operate.getGrCode();
        this.tecGrCode=operate.getTecGrCode();
        this.salaGrCode=operate.getSalaGrCode();
        this.personState=operate.getPersonState();
        this.changeState=operate.getChangeState();
        this.perSourceCode=operate.getPerSourceCode();
        this.isDeleted= SystemDictConstant.IS_FALSE;
        this.mofDivCode=operate.getMofDivCode();
        this.isUniSala=operate.getIsUniSala();
        this.isAuth=operate.getIsAuth();
        this.isInsurance=operate.getIsInsurance();
        this.personTypeId=operate.getPersonTypeId();
        this.postId=operate.getPostId();
        this.gradeId=operate.getGradeId();
        this.levelId=operate.getLevelId();
        this.isSpecialPost= operate.getIsSpecialPost();
        this.deptEconomicSubjectsCode = operate.getDeptEconomicSubjectsCode();
        this.functionalSubjectsCode = operate.getFunctionalSubjectsCode();
        this.govDeptClassCode = operate.getGovDeptClassCode();
        this.natureOfFundsCode = operate.getNatureOfFundsCode();
        this.funcId = operate.getFuncId();
        this.funcName = operate.getFuncName();
        this.funcCode = operate.getFuncCode();

    }
}
